Media processing device and systems with multiple processing units

ABSTRACT

A roll paper print unit  120  processes roll paper. A first interface  110  receives commands transmitted from a POS terminal  20 . A second interface  115  transmits a command received by the first interface  110  to a printer  200  that performs a same process as the roll paper print unit  120 . A control unit  150  controls processing by the roll paper print unit  120 , and transmitting a command to the printer  200  through the second interface  115 , based on the received command. When the received command is a preset command, the control unit  150  controls the second interface  115  to transmit the preset command to the printer  200.

BACKGROUND

1. Technical Field

The present invention relates to a media processing device and a POSsystem.

The present application claims the priority of Japan Patent ApplicationNo. 2012-116881, filed on May 22, 2012, and Japan Patent Application No.2012-118313 filed on May 24, 2012, all contents of which are hereinincorporated by reference.

2. Related Art

A printer as an example of a media processing device, and a POS(point-of-sale) systems having a plurality of printers, are known fromthe literature. See, for example, Japanese Unexamined Patent Appl. Pub.JP-A-2009-199588. In the system described in JP-A-2009-199588, a receiptprinter (first printer) that prints receipts is connected to a POSregister, and a label printer that prints labels is connected to thefirst (receipt) printer. When the POS register outputs transaction data,the receipt printer prints a receipt. The receipt printer also outputsprint data for producing a label if a specific condition is met. Thelabel printer then prints a label based on the print data for a labeloutput by the receipt printer.

Both a dedicated receipt printer for printing receipts, and a dedicatedlabel printer for printing labels, are thus connected in the foregoingsystem of the related art. In other words, dedicated media processingdevices used for different processes are connected. Because each of themedia processing devices is used for a fixed purpose, there is no needto control how the media processing devices are used.

However, when the system has plural media processing devices with commonfunctions connected, controlling which media processing device operatesunder what conditions is required. A computer or other control devicethat controls the media processing devices is therefore required tocontrol each of the plural media processing devices.

SUMMARY

The present invention is directed to this problem, and provides a simplemethod of appropriately using plural media processing devices.

A media processing device according to one aspect of the inventionincludes a processing unit that processes media; a first connection unitthat receives a command sent from a host computer; a second connectionunit that transmits a command received by the first connection unit; anda control unit that controls executing a process by the processing unitbased on a command received by the first connection unit, or controlstransmitting a command received by the first connection unit from thesecond connection unit.

The media processing device according to this aspect of the inventioncan receive commands sent from a host computer and process media basedon the received commands using an appropriate processing unit, and cansend predetermined commands to an external processing device to processthe media by the external processing device, for example. As a result,if the host computer sends a command to the media processing device ofthe invention, the media processing device processes the media orappropriately sends the command to an external processing device. Thereis therefore no need for the host computer to differentiate control forthe media processing device and the external processing device, andplural processing devices can be easily controlled and usedappropriately.

In addition to the first connection unit that connects to the hostcomputer, the media processing device according to another aspect of theinvention also has a second connection unit that connects to an externalprocessing device. As a result, the host computer can output commands inthe same way as when one media processing device is connected. A specialfunction or software configuration is therefore not needed in the hostcomputer in order to use a plurality of processing devices. For example,existing host computers can be used without modification.

In a media processing device according to another aspect of theinvention, the control unit sends commands that are received by thefirst connection unit and executed by the external processing devicethrough the second connection unit to the external processing device.

In this aspect of the invention the media processing device sendscommands that are received from the host computer and executed by theexternal processing device to the external processing device. As aresult, when the host computer outputs a command, the externalprocessing device can be operated by a function of the media processingdevice. The host computer can therefore easily control and appropriatelyuse a plurality of processing devices.

A media processing device according to another aspect of the inventionalso has a second processing unit that executes a different process thanthe processing unit; and an external device control unit that detects aprocess that can be executed by an external processing device. When thecontrol unit causes the second processing unit to execute a command thatis included in the commands received by the first connection unit andcan be executed by the second processing unit when the external devicecontrol unit detects that the external processing device does not havethe same processing unit as the second processing unit.

In this aspect of the invention the media processing device has aprocessing unit and a second processing unit that executes differentprocesses, and can detect the process that can be executed by theexternal processing device. When the media processing device detectsthat the external processing device does not have a processing unitequivalent to the second processing unit, the command received from thehost computer is executed by the second processing unit. Morespecifically, the second processing unit executes commands that cannotbe executed by the external processing device. As a result, the hostcomputer can execute processes that can be executed by the externalprocessing device on the external processing device, and can executeother processes on the media processing device, by simply sending acommand. More specifically, the media processing device canappropriately operate the external processing device based on thefunction of the external processing device. The host computer cantherefore appropriately use a plurality of processing devices withoutexecuting control matching the functions of the processing devices.

A media processing device according to another aspect of the inventionpreferably also has a switching unit that, when a command received bythe first connection unit is a command can be executed by the processingunit and the external processing device, changes to a first mode thatexecutes the command by the processing unit, or a second mode thattransmits the command by the second connection unit to the externalprocessing device.

In this aspect of the invention the media processing device can changethe processing device that executes commands that can be executed byboth the media processing device and the external processing device. Forexample, the host computer can cause the media processing device tochange the device that executes a command. In addition, the mediaprocessing device can change the device that executes a commandaccording to specific conditions. Therefore, the host computer canselectively use the media processing device and the external processingdevice according to the purpose or content of a process withoutcomplicated control.

Another aspect of the invention is a media processing system including aterminal that transmits a command; a first media processing deviceincluding a first processing unit that applies a first process to arecording medium, a first connection unit that receives a commandtransmitted from the terminal, a control unit that controls executing aprocess by the first processing unit based on the command received bythe first connection unit, or controls transmitting the command receivedby the first connection unit, and a second connection unit thattransmits the command when the control unit executes control to transmitthe command; and a second media processing device including a receivingunit that connects to the second connection unit of the first mediaprocessing device and receives the command transmitted from the secondconnection unit, and a media processing unit that executes a sameprocess as the first processing unit of the first media processingdevice based on the command received by the receiving unit.

In the media processing system according to this aspect of theinvention, the first media processing device can receive commands sentfrom a terminal, and the first media processing device can process themedium, and send predetermined commands to the second media processingdevice so that the second media processing device processes the medium,for example. As a result, if the terminal sends a command, the first andsecond media processing devices can appropriately process the command.The terminal can therefore easily control appropriately using pluralmedia processing devices without needing to control how the first andsecond media processing devices are used.

In addition to the first connection unit that connects to the terminal,the first media processing device in another aspect of the inventionalso has a second connection unit that connects to a second mediaprocessing device. As a result, because the terminal can output commandsin the same way as when controlling the first media processing device,the terminal does not need to be configured with a special function orsoftware in order to use a plurality of media processing devices. Forexample, existing terminals can be used without changing theirconfiguration.

In a media processing system according to another aspect of theinvention, the first processing unit of the first media processingdevice is a print unit that prints on roll paper, and the secondprocessing unit is a reading unit that reads information recorded oncut-sheet media.

The media processing system according to this aspect of the inventioncan appropriately use and execute processes on the first mediaprocessing device that can execute a process of printing on roll paperand a process of reading information recorded on cut-sheet media, andthe second media processing device that executes at least one of thesame processes as the first media processing device.

In a media processing system according to another aspect of theinvention, the second media processing device has a second mediaprocessing unit different from the above media processing unit, and thecontrol unit of the first media processing device executes on the firstprocessing unit or the second processing unit commands received by thefirst connection unit that relate to a function that the second mediaprocessing device cannot execute and can be executed by the firstprocessing unit or the second processing unit.

In this aspect of the invention the first media processing device canexecute different types of processes, and can detect processes that thesecond media processing device cannot execute. The first mediaprocessing device executes commands that are sent from the POS terminalbut cannot be executed by the second media processing device. As aresult, the POS terminal can cause the second media processing device toexecute processes that the second media processing device can execute,and can cause the first media processing device to execute otherprocesses, by simply sending a command. More specifically, the firstmedia processing device can appropriately operate the second mediaprocessing device according to the functions of the second mediaprocessing device. The POS terminal can therefore appropriately use aplurality of media processing devices without executing control matchedto the functions of the first and second media processing devices.

Another aspect of the invention is a media processing device including aprocessing unit that processes media, a first connection unit thatreceives a command sent from a host computer, a second connection unitthat sends a command received by the first connection unit to anexternal processing device that performs a same process as theprocessing unit, and a control unit that switches based on a commandreceived by the first connection unit between a first mode in which acommand received by the first connection unit is executed by theprocessing unit, and a second mode in which a command received by thefirst connection unit is sent by the second connection unit to theexternal processing device.

The media processing device according to this aspect of the inventioncan thus receive a command sent from the host computer, and based on thereceived command execute an operating mode that processes media with theprocessing unit, or an operating mode that sends the command to anexternal processing device and causes the external processing device toprocess the media, for example. Based on the command received from thehost computer, the media processing device changes the operating mode.As a result, by sending a command to the media processing device, thehost computer can cause the media processing device to process media, orcause the media processing device to pass the command to an externalprocessing device. The host computer can thus appropriately use aplurality of processing devices without executing complicated control.

A media processing device according to another aspect of the inventionpreferably also has a conversion unit that converts a command receivedby the first connection unit to a first executable command that isexecuted by the processing unit, or a second executable command that isexecuted by the external processing device.

The media processing device according to this aspect of the inventioncan thus convert a command received from the host computer to a commandthat is executed by the processing unit or the external processingdevice. As a result, the host computer can appropriately use the mediaprocessing device and external processing device without modifying acommand even if the media processing device or external processingdevice is connected to a host computer that uses different commands.

Another aspect of the invention is a POS system including: a POSterminal that transmits transaction information and a command; a firstprinting device including a first connection unit that receivestransaction information and a command transmitted from the POS terminal,a first print unit that prints a receipt, a control unit that executes afirst mode wherein the first print unit executes the command received bythe first connection unit and prints the transaction information on areceipt, or a second mode wherein the transaction information receivedby the first connection unit is transmitted, and a second connectionunit that transmits the transaction information when the control unitoperates in the second mode; and a second printing device including areceiving unit that connects to the second connection unit of the firstprinting device and receives the transaction information, and a secondprint unit that prints the transaction information received by thereceiving unit on a receipt.

In a POS system according to this aspect of the invention, the firstprinting device can receive a command sent from the POS terminal, andcan execute a first mode to print on roll paper based on the receivedcommand, and a second mode that sends the command to the second printingdevice and causes the second printing device to print on roll paper.Because the first printing device changes the operating mode to thefirst mode or second mode based on a command sent from the POS terminal,the POS terminal can appropriately switch the printing device thatprints on roll paper to either the first or second printing device bysending a command. A plurality of printing devices can therefore beoperated appropriately without requiring complicated control.

In a POS system according to another aspect of the invention, the firstprinting device includes a conversion unit that converts a commandreceived by the first connection unit to a first executable command thatis executed by the first print unit, or a second executable command thatis executed by the second printing device.

The conversion unit in a POS system according to this aspect of theinvention can thus convert a command received from the POS terminal to acommand that is executed by the first print unit or the second printingdevice. As a result, the POS system can appropriately use first andsecond printing devices without modifying a POS terminal command even ifthe first printing device or second printing device is connected to aPOS terminal that uses different commands.

In a POS system according to another aspect of the invention, when thecontrol unit of the first printing device executes the first mode, thefirst print unit prints the transaction information received by thefirst connection unit on a receipt, and the second connection unit doesnot transmit the transaction information to the second printing device.

Because the transaction information is not sent to the second printingdevice when the first printing device prints a receipt, the secondprinting device does not print a receipt. Because the first printingdevice and second printing device are thus operated exclusively to printa receipt, duplicate printing of a receipt with the same transactioninformation can be prevented, and reliability can be improved for a POSsystem that outputs transaction information.

In a POS system according to another aspect of the invention, when thecontrol unit of the first printing device executes the second mode, theconversion unit converts the command received by the first connectionunit to the second executable command, the second connection unittransmits the transaction information and second executable command tothe second printing device, and the second printing device receives thesecond executable command through the receiving unit, and prints thetransaction information on a receipt by the second print unit based onthe second executable command.

In the second operating mode, the first printing device in this aspectof the invention converts the command received from the POS terminal toa second executable command that is executed by the second printingdevice, and the second printing device executes this second executablecommand. As a result, the second printing device can be connected to aPOS terminal that uses different commands and still be appropriatelyused by the POS terminal without modifying a POS terminal command.

The invention thus enables a host computer to appropriately use aplurality of processing devices without executing control specific tothe plural processing devices.

Other objects and attainments together with a fuller understanding ofthe invention will become apparent and appreciated by referring to thefollowing description and claims taken in conjunction with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a function block diagram of a POS system according to a firstembodiment of the invention.

FIG. 2 is a function block diagram showing the configuration of amultifunction device in detail.

FIG. 3 is a flowchart showing the operation of the multifunction device.

FIG. 4 is a function block diagram of a POS system according to a secondembodiment of the invention.

FIG. 5 is a function block diagram showing the configuration of aprinter in detail.

FIG. 6 is a flow chart of printer operation.

DESCRIPTION OF EMBODIMENTS Embodiment 1 Configuration of a POS System

A POS system according to a first embodiment of the invention isdescribed below with reference to FIG. 1. FIG. 1 is a block diagramshowing the configuration of a POS system according to the firstembodiment of the invention.

A POS system 3 is typically installed in a retail store, for example,and used to register sales data, process transactions, and printreceipts at the point of sale. As shown in FIG. 1, the POS system 3includes a POS terminal 20 (host computer) operated by an operator, amultifunction device 100 (media processing device, or first mediaprocessing device) connected to the POS terminal 20, and a printer 200(external processing device, or second media processing device)connected to the multifunction device 100.

Connected to the POS terminal 20 are an operator display 31 thatdisplays information for the operator, a customer display 32 thatdisplays price and transaction information for the customer, a cashdrawer 33 that holds cash and other payment instruments, a keyboard 36that is used by the operator, a barcode scanner 37 used to read productbarcodes, and a card reader 38 used to read magnetic informationrecorded on magnetic stripe cards such as credit cards and cash cards.The operator inputs product information by operating the keyboard 36 andusing the barcode scanner 37 to read barcodes. The POS terminal 20 thenqueries a POS server 10 based on the input product information. The POSserver 10 searches a product master database based on the productinformation sent from the POS terminal 20, and returns product code,product name, price, and other product information from the masterdatabase to the POS terminal 20. The POS terminal 20 then displaysproduct price information on the display 31 and customer display 32based on the information returned from the POS server 10. When thisprocess is completed for all products purchased in a transaction, theoperator executes a transaction process by operating the keyboard 36,for example, and makes change from the cash drawer 33 as may benecessary. The POS terminal 20 then controls the multifunction device100 or printer 200 to print and output a receipt.

The multifunction device 100 has a function for printing receipts onroll paper used as a recording medium. The multifunction device 100 alsohas a magnetic reader function for reading information magneticallyrecorded on checks and other forms, and a validation function forprinting that a check or other form was used, for example. When acustomer uses a check for payment in a sales transaction, the operatorsets the check in the multifunction device 100 to read the magneticinformation from the check. The multifunction device 100 then reads themagnetic information from the check and completes validation printing.The POS terminal 20 completes transaction processing based on theinformation read by the multifunction device 100.

The printer 200 has a function for printing receipts from roll paper.The multifunction device 100 and printer 200 could be thermal printersthat print receipts on thermal roll paper, or serial dot impact orinkjet printers that print on plain roll paper.

The POS terminal 20 also has a control unit 21 that controls parts ofthe POS terminal 20. The control unit 21 includes CPU, RAM, ROM, andother peripheral circuits not shown, and runs a program stored in amemory unit 23. The control unit 21 includes a printer driver executionunit 22 that executes a printer driver program 24 stored in the memoryunit 23.

The printer driver execution unit 22 generates and sends print data forprinting receipts and commands telling a printer connected to theinterface 27 to print. The printer driver execution unit 22 executes aprinter driver program 24 that is written for a printer or a specificdevice from a specific manufacturer. As a result, the commands and printdata generated by the printer driver execution unit 22 are print dataand commands in the command set of a printer from a specificmanufacturer or a specific model. The printer driver program 24 couldalso be a generic printer driver. More specifically, the commands andprint data generated by the printer driver execution unit 22 could alsobe a print data and commands in command languages that are compatiblewith printers from plural different manufacturers or plural differentmodels.

This first embodiment of the invention describes an implementation inwhich the multifunction device 100 and the printer 200, or at least theprinter 200, is incompatible with the printer driver program 24, or morespecifically a situation in which at least the printer 200, and possiblyboth the multifunction device 100 and the printer 200, cannot executethe commands output by the printer driver execution unit 22.

This situation occurs, for example, when the printer driver program 24is a printer driver program that is compatible with different modelsthan the multi function device 100 and printer 200 or with printers ordevices from different manufacturers, or the printer driver program 24is a generic printer driver and the multifunction device 100 and printer200, or the printer 200, require a dedicated printer driver program 24.

As shown in FIG. 1, the POS terminal 20 includes an output unit 28 withconnectors (not shown in the figure) to which the operator display 31,customer display 32, and cash drawer 33 are connected. The output unit28 outputs display data from the output unit 28 to the display 31 andcustomer display 32 as controlled by the control unit 21. The outputunit 28 also outputs to the cash drawer 33 a signal that opens the cashdrawer 33 as controlled by the control unit 21. The output unit 28 couldalso have a function for detecting the state (open or closed) of thecash drawer 33, and outputting the result to the control unit 21. Aninterface 27 to which an external printer is connected is also connectedto the output unit 28.

The interface 27 has a connector (not shown in the figure) conforming toa particular standard such as USB, RS-232C, or Ethernet (R), and connectto a printer by a cable connected to this connector. The interface 27could also be a wireless communication interface enabling connecting aprinter through a wireless connection. Examples of the wirelesscommunication standard include IEEE 802.11, wireless USB, Bluetooth (R),and UWB. In this embodiment of the invention the interface 27 isconnected to the multifunction device 100 through a cable 6. The POSterminal 20 and multifunction device 100 are connected 1:1.

The POS terminal 20 has a communication interface 26 connected to acommunication line 5, and is connected to the POS server 10 through thecommunication interface 26. The communication interface 26 may includean Ethernet LAN interface, or a modem or other communication interfacecircuit.

The multifunction device 100 includes a first interface 110 (firstconnection unit) that connects to an external device, and a secondinterface 115 (second connection unit). The first interface 110 connectsto the POS terminal 20 through the cable 6. The second interface 115connects to the printer 200 through another cable 7. The first interface110 connects 1:1 to the POS terminal 20, and the second interface 115connects 1:1 to the printer 200.

The multifunction device 100 includes a control unit 150. The controlunit 150 includes, for example, a CPU, RAM, ROM, and nonvolatile memorysuch as an EEPROM or flash memory device (not shown in the figure). Thecontrol unit 150 executes a program stored in nonvolatile storage tocontrol other parts. This program could be firmware for operating themultifunction device 100.

The multifunction device 100 includes a roll paper print unit 120(processing unit, first processing unit), a magnetic reader 130(processing unit, second processing unit), and a form print unit 140(processing unit, second processing unit) that operate as controlled bythe control unit 150. More specifically, the multifunction device 100 isa multifunction device with a plurality of functions including afunction for printing receipts, a function for reading magneticinformation from forms, and a form printing function.

The control unit 150 exchanges data with the POS terminal 20 through thefirst interface 110, and exchanges data with the printer 200 through thesecond interface 115.

Not shown in the figures, the roll paper print unit 120 has a printheadfor printing text and images on roll paper, a conveyance mechanism forconveying the roll paper, a cutter mechanism for cutting the roll paper,and detectors for detecting if roll paper is present and detecting theleading end of the roll paper. The roll paper print unit 120 prints onroll paper as controlled by the control unit 150, and outputs receipts.

The magnetic reader 130 reads information magnetically recorded onchecks and other forms that are loaded by the operator. The magneticreader 130 has a conveyance mechanism that conveys the forms, and anMICR head that reads information (such as the MICR line) magneticallyrecorded on the conveyed form.

The form print unit 140 prints text indicating that a form has beenprocessed, for example, on the form that is read by the magnetic reader130. The form print unit 140 has a printhead not shown. The printhead isdisposed to a position past which the form is conveyed by the conveyancemechanism of the magnetic reader 130, and prints on the conveyed form.

The printer 200 is a simple printer with a function for printingreceipts. The printer 200 has an interface 210 connected to themultifunction device 100 through a cable 7, a roll paper print unit 220(media processing unit) including a printhead that prints on the rollpaper, and a control unit 250 that controls these other parts. Theinterface 210 is a wired interface with a connector (not shown in thefigure) or a wireless interface conforming to the first interface 110 orsecond interface 115 described above. The control unit 250 exchangesdata with the multifunction device 100 through the interface 210.

Configuration of the Media Processing Device

The configuration of the multifunction device used as an example of amedia processing device is described below with reference to FIG. 2.FIG. 2 is a function block diagram of the POS system 3 showing theconfiguration of the multifunction device 100 in detail.

As shown in FIG. 2, the multifunction device 100 has a main circuitboard 101 containing a CPU and other components for controlling parts ofthe multifunction device 100, and an interface board 103 disposedseparately from the main circuit board 101.

The interface board 103 is connected to the main circuit board 101through a detachable bus (not shown in the figure), for example, and isremovably installed in the multifunction device 100. The first interface110 and second interface 115 are mounted on the interface board 103, andthe control unit 150 is mounted on the main circuit board 101. The maincircuit board 101 is also connected to the roll paper print unit 120,magnetic reader 130, form print unit 140, operating panel 170, and modeselector switch 180 of the multifunction device 100.

The first interface 110 has a connector 111 that can connect to thecable 6, and the second interface 115 has a connector 116 that canconnect to the other cable 7. These connectors 111, 116 are separatelydisposed to the interface board 103. In one implementation, theconnectors 111, 116 are disposed side by side exposed from the back ofthe multifunction device 100. The first interface 110 and secondinterface 115 can communicate separately of each other.

The connectors 111, 116 are connectors that conform to a particularstandard such as USB, RS-232C, or Ethernet (R), and can connect to acompatible cable 6, 7.

Alternatively, the first interface 110 and second interface 115 could bewireless communication interfaces enabling connecting to the POSterminal 20 or printer 200 through a wireless connection. Examples ofthe wireless communication standard include IEEE 802.11, wireless USB,Bluetooth (R), and UWB.

The control unit 150 operates as a external device controller 151,operating mode controller 153 (switch unit), data interpreter 155,conversion unit 157, command interpreter 158, and process controller 159by means of the CPU mounted on the main circuit board 101 runningspecific programs.

The external device controller 151 communicates with the deviceconnected to the second interface 115, and determines the type of device(multifunction device or printer), model name, manufacturer, the commandset compatible with the device (type of commands), and functions thatthe device can handle, for example. In this embodiment the externaldevice controller 151 determines at least the types of processes thatthe device connected to the second interface 115 can execute.Preferably, the external device controller 151 determines the commandset that the device connected to the second interface 115 uses. Themethod whereby the command set is identified could include sending dataquerying the command set through the second interface 115 and decidingthe command set based on the received responses, or identifying thecommand set of the device by determining the manufacturer or model nameof the device connected to the second interface 115, for example.Because a printer 200 is connected to the second interface 115 in thisembodiment, the external device controller 151 determines the commandset used by the printer 200.

The operating mode controller 153 controls changing the operating modeof the multifunction device 100. When the POS terminal 20 outputs acommand for a printing operation, the multifunction device 100 canoperate in a first mode in which the multifunction device 100 prints, ora second mode in which the printer 200 is driven to print. The firstmode and second mode are selected exclusively.

In other words, in the first mode the multifunction device 100 executesall commands that are received through the first interface 110 andrelate to processes that can be executed by the multifunction device100.

In the second mode, the multifunction device 100 passes commands thatare received through the first interface 110 and are related toprocesses that can be executed by the device connected to the secondinterface 115 through the second interface 115 to the connected device.The multifunction device 100 executes commands related to processes thatcannot be executed by the device connected to the second interface 115.

When a command for printing is received through the first interface 110in the first mode, the multifunction device 100 prints with the rollpaper print unit 120 based on the print data received with the command.

When a command for printing is received in the second mode through thefirst interface 110, the multifunction device 100 outputs the commandand the print data received with the command from the second interface115. The printer 200 then receives the print data and the print commandthrough the interface 210, and prints with the roll paper print unit220.

Switching between the first mode and second mode occurs when, forexample, a text command is detected by the data interpreter 155described below, when a mode selector switch 180 of the multifunctiondevice 100 is operated, or when the operating mode is changed by anoperation on the operating panel 170 of the multifunction device 100.The mode selector switch 180 is a switch disposed on an outside panel ofthe multifunction device 100, for example. The mode selector switch 180could be a pushbutton, touch sensor, or toggle switch, for example. Theoperating mode controller 153 switches the current operating mode to theother operating mode each time the mode selector switch 180 is operatedand turns on. The operating panel 170 includes switches (not shown inthe figure) for controlling operation of the multifunction device 100,and indicators (not shown in the figure) that display the operatingstate of the multifunction device 100. When operation of a particularswitch on the operating panel 170 is detected, the operating modecontroller 153 changes the operating mode from the current operatingmode to the other operating mode. An indicator (not shown in the figure)or display for displaying the current operating mode could also bedisposed to the operating panel 170.

The data interpreter 155 interprets the text data contained in the printdata received through the first interface 110, and determines if a textcommand is contained in the text data. A text command is a commandcontained in print data output by the POS terminal 20. The print dataincludes text data for printing text, and the text data is a string oftext characters and symbols. The text characters and symbols containedin the text data are printed on the receipt and seen by the customer,and therefore typically constitute human-readable content. As a result,strings that do not contain specific meaning as words or symbols(including situations in which specific meaning is not represented bythe string) are therefore not printed. For example, the string “$10”expresses a monetary value. However, the string “#1122” is a string withno meaning unless a specific meaning has been assigned to the hash mark(#) symbol. Because strings with no meaning are not printed on thereceipt, they can be used as commands that can be interpreted by themultifunction device 100. Command that are thus sent to themultifunction device 100 as part of the text data contained in the printdata are referred to as “text commands” herein.

A specific example of a text command is described next. In this examplethe string “#1122” is predefined as a command that tells themultifunction device 100 to change the operating mode. This predefinedcommand is stored in the nonvolatile memory (not shown in the figure) ofthe control unit 150. The data interpreter 155 extracts text date fromthe print data received through the first interface 110, and looks forthe string #1122 in the text data. If this string #1122 is found, thedata interpreter 155 tells the operating mode controller 153 that acommand to change the operating mode was detected. As a result, theoperating mode controller 153 switches from the current operating modeto the other operating mode.

Text commands are output as part of the print data. As a result, newcommands can be added without changing the command set (commandlanguage) used by the POS terminal 20. More specifically, an applicationprogram that outputs print data to the printer driver program 24generates the text data contained in the print data. The printer driverprogram 24 converts the print data generated by the application programto the data format used by the multifunction device 100, and outputs theconverted data with a print command. Therefore, if the applicationprogram outputs print data containing a text command, the multifunctiondevice 100 can operate according to the text command even if the printerdriver program 24 does not recognize the text command. Desirablecommands related to multifunction device 100 operation can therefore beadded without changing the content of the printer driver program 24 runby the POS terminal 20.

If a text command is detected in the print data received by the firstinterface 110, the data interpreter 155 deletes the text command andgenerates new print data. This prevents printing meaningless strings onthe receipt. The data interpreter 155 deletes text commands from theprint data in both the first and second modes.

The conversion unit 157 converts the command received by the firstinterface 110 to a command of the same meaning in a different commandset. As described above, the POS terminal 20 generates and outputscommands in a specific command set through a function of the printerdriver program 24. The command set may vary according to themanufacturer and model of the device, including the multifunction device100 and the printer 200. The command set output by the POS terminal 20and the command set that can be executed by the multifunction device 100and/or the printer 200 may therefore differ. In this embodiment asdescribed above, the printer 200, or both the multifunction device 100and the printer 200, cannot execute commands output by the printerdriver execution unit 22. In this situation the conversion unit 157converts the commands output by the printer driver execution unit 22 sothat the multifunction device 100 and printer 200 can be driven toexecute processes supported by the commands output by the printer driverexecution unit 22.

The conversion unit 157 stores a table defining the correlation betweencommands in at least one command set and commands in another commandset. The control unit 150 could store the table relating the command setof commands output by the POS terminal 20 and the command set that canbe executed by the multifunction device 100. The control unit 150 couldalso store a table relating the command set of commands output by thePOS terminal 20 and the command set that can be executed by the printer200. If a command received by the first interface 110 is not a commandin a command set that can be executed by the multifunction device 100,the conversion unit 157 converts the command to a command in the commandset that can be executed by the multifunction device 100. As a result,the multifunction device 100 can execute all commands received by thefirst interface 110.

When operating in the second mode and a command received by the firstinterface 110 is not a command in the command set executable by theprinter 200, the conversion unit 157 converts the command to a commandin the command set executable by the printer 200. The external devicecontroller 151 can identify commands that are executable by the printer200. The commands output by the POS terminal 20 can therefore beexecuted in both the first mode and the second mode even if the commandsets of the POS terminal 20 and the multifunction device 100 and/orprinter 200 are not the same. As a result, if a printer in the POSsystem 3 is replaced by a multifunction device 100 or printer 200 of adifferent make or model, the multifunction device 100 or printer 200 canstill be operated without changing the printer driver program 24.

When converting a command received by the first interface 110 to acommand compatible with the printer 200, the conversion unit 157 mayalso change the content of the command or the content of the print data.For example, the resolution of the printhead, the line feed distance,font size, font type, kerning, left and right margins of the roll paper,the roll paper size, and other printing conditions of the printeraddressed by the printer driver program 24 may differ from those of theroll paper print unit 120 of the multifunction device 100, or from thoseof the roll paper print unit 220 of the printer 200. Printing conditionsmay also differ between the roll paper print unit 120 and the roll paperprint unit 220.

In this situation the conversion unit 157 changes the content of thecommands and print data so that the same or similar printing results canalso be achieved with a printer having different print parameters. Forexample, the conversion unit 157 may change commands or parameters,including the printing position command, the print margin command, linefeed command, font selection command, or kerning command, contained inthe commands received by the first interface 110 so that the roll paperprint unit 120 produces the same or substantially the same printout asthe printout produced by a printer that is compatible with the printerdriver program 24. The conversion unit 157 could also convert the pixelcount of image data contained in the print data. The conversion unit 157also converts commands and parameters contained in the commands receivedby the first interface 110, and the pixel count of image data containedin the print data, so that the roll paper print unit 220 produces thesame or similar results as a printer that is compatible with the printerdriver program 24. As a result, the same or substantially the sameprintout can be produced using the multifunction device 100 and theprinter 200 without modifying the software running on the POS terminal20.

The command interpreter 158 interprets commands received by the firstinterface 110 and identifies the functions corresponding to the receivedcommands. For example, the command interpreter 158 determines if areceived command is a command related to a function of the roll paperprint unit 120, a command related to a function of the magnetic reader130, or a command related to a function of the form print unit 140.

If the command received by the first interface 110 is a command relatedto a function of the magnetic reader 130 or form print unit 140, thecommand interpreter 158 executes the received command using the processcontroller 159 described below.

If the command received by the first interface 110 is a command relatedto a function of the roll paper print unit 120, the command interpreter158 determines the operating mode of the multifunction device 100. Ifthe operating mode of the multifunction device 100 is the first mode,the command interpreter 158 causes the process controller 159 to executecommands related to the roll paper print unit 120. If the operating modeof the multifunction device 100 is the second mode, the commandinterpreter 158 sends the commands related to the roll paper print unit120 through the second interface 115 to the printer 200. If the commandreceived by the first interface 110 accompanies print data, the commandinterpreter 158 outputs the command and the print data from the secondinterface 115.

The process controller 159 executes commands received by the firstinterface 110 and drives the roll paper print unit 120, magnetic reader130, and form print unit 140 to print a receipt, read magneticinformation and print on a form.

Operation of the Media Processing Device

The operation of a multifunction device as an example of a mediaprocessing device is described next with reference to FIG. 3. FIG. 3 isa flow chart showing the operation of the multifunction device 100.

As shown in FIG. 3, when the control unit 150 detects that a command wasreceived by the first interface 110 (step S11), the conversion unit 157determines if the received command must be converted (step S12). If thereceived command is different from the commands in the command set usedby the multifunction device 100, the conversion unit 157 determines thatcommand conversion is required (step S12 returns YES). In this event theconversion unit 157 converts the received command to a compatiblecommand in the command set of the multifunction device 100 (step S13).The conversion unit 157 does not convert the command if commandconversion is determined unnecessary (step S12 returns NO).

The data interpreter 155 then determines if text data was received withthe command through the first interface 110 (step S14). If text data wasreceived (step S14 returns YES), the data interpreter 155 interprets thereceived text data (step S15) and searches for a text command (stepS16). If a text command is contained in the received text data (step S16returns YES), the data interpreter 155 outputs the text command to theoperating mode controller 153. The operating mode controller 153 thenexecutes the process of changing (setting) the current operating mode tothe other operating mode (step S17).

The data interpreter 155 then generates new text data by removing thetext command output to the operating mode controller 153 from thereceived text data (step S18), and goes to the next step S19.

If a text command is not contained in the received text data (step S16returns NO), the data interpreter 155 goes directly to step S19.

In step S19 the command interpreter 158 interprets the received command,and determines if the received command is a print command (step S20). Ifthe received command is not a print command (step S20 returns NO), thecommand interpreter 158 outputs the command to the process controller159, and the process controller 159 controls the magnetic reader 130 orform print unit 140 to execute the process called by the command (stepS21).

If the received command is a print command (step S21 returns YES), thedata interpreter 155 determines the operating mode set by the operatingmode controller 153 (step S22). If the operating mode is the first mode(step S23 returns YES), the data interpreter 155 outputs the command tothe process controller 159, and the process controller 159 controls theroll paper print unit 120 to print according to the print command (stepS24).

If the operating mode is set to the second mode (step S23 returns NO),the conversion unit 157 determines if command conversion is required(step S25). Because commands are sent to the printer 200 in the secondmode, the conversion unit 157 determines that command conversion isrequired if the command received by the first interface 110 is not acommand used by the printer 200 (step S25 returns YES).

In this event the conversion unit 157 converts the command to a commandin the command set used by the printer 200 (step S26), and sends theprint command and the print data to the printer 200 through the secondinterface 115 (step S27).

If command conversion is not required (step S25 returns NO), theconversion unit 157 outputs the command and the print data receivedthrough the first interface 110 from the second interface 115. Note thatthe print data sent by the second interface 115 in step S27 is the printdata received by the first interface 110 or the print data left aftertext command removal in step S18.

As described above, a multifunction device 100 in a POS system 3according to this embodiment of the invention has a roll paper printunit 120 that processes roll paper as the medium; a first interface 110that receives commands sent from a POS terminal 20; a second interface115 that sends commands received by the first interface 110 to a printer200 that performs a process common to the roll paper print unit 120; anda control unit 150 that based on the commands received by the firstinterface 110 controls processing by the roll paper print unit 120 andcontrols sending commands through the second interface 115 to theprinter 200, and when a command received by the first interface 110 is aspecific predetermined command, sends the predetermined command throughthe second interface 115 to the printer 200.

As a result, the multifunction device 100 can receive commands sent fromthe POS terminal 20 and print on roll paper using the roll paper printunit 120 based on the received command, and can send a predeterminedcommand causing the printer 200 to print a receipt, for example. As aresult, by sending a command to the multifunction device 100, the POSterminal 20 can print with the multifunction device 100 or the commandcan be appropriately passed to the printer 200. The POS terminal 20 cantherefore easily control using the multifunction device 100 and theprinter 200 as desired without needing to separately control use of themultifunction device 100 and printer 200.

The multifunction device 100 has a second interface 115 in addition to afirst interface 110. As a result, the POS terminal 20 can send commandsin the same way as when a single multifunction device 100 is connected.The functions and software of the POS terminal 20 therefore do not needto be specially configured in order to use a plurality of processingdevices. This is particularly convenient because existing POS terminals20 can be used as is without modification.

The control unit 150 sends commands to be executed by the printer 200 inthe group of commands received by the first interface 110 through thesecond interface 115 to the printer 200. As a result, the POS terminal20 can operate the printer 200 using a function of the multifunctiondevice 100 by sending an appropriate command.

The multifunction device 100 has a magnetic reader 130 and form printunit 140 as second processing units that execute different processesthan the roll paper print unit 120, and a external device controller 151that detects processes that can be executed by the printer 200. When thecontrol unit 150 detects that the printer 200 does not have processingunits equivalent to the magnetic reader 130 and form print unit 140, thecontrol unit 150 uses the roll paper print unit 220 to execute commandsthat are received by the first interface 110 and can be executed by theroll paper print unit 220, which is a processing unit of the printer200. As a result, by simply outputting commands, the POS terminal 20 canuse the printer 200 to execute processes that can be completed by theprinter 200, and can use the multifunction device 100 to execute otherprocesses. In other words, the multifunction device 100 can desirablyoperate the printer 200 based on the function provided by the printer200. The POS terminal 20 can therefore desirably use a plurality ofprocessing devices without directly controlling the functions of theprocessing devices.

The multifunction device 100 also has an operating mode controller 153that, when a command received by the first interface 110 is a commandthat can be executed by both the roll paper print unit 120 and the rollpaper print unit 220 of the printer 200, changes the operating mode to afirst mode that executes the command using the roll paper print unit120, or a second mode that sends the command through the secondinterface 115 to the printer 200. As a result, the multifunction device100 can change whether the multifunction device 100 or the printer 200executes commands that can be executed by either device.

A specific example of how the POS system 3 may be used is describednext. Ina configuration having the multifunction device 100 and printer200 in separate locations, the multifunction device 100 and printer 200can be used differently. For example, when the operator is near themultifunction device 100, the operating mode of the multifunction device100 is set to the first mode, and the POS system 3 uses themultifunction device 100 to print receipts. When the operator is awayfrom the multifunction device 100 and an operator is not near themultifunction device 100, the multifunction device 100 is switched tothe second mode by sending a command from the POS terminal 20. In thisscenario receipts are printed by the printer 200. The location wherereceipts are printed can thus be changed by changing the operating modeof the multifunction device 100.

Embodiment 2 POS System Configuration

A POS system according to a second embodiment of the invention isdescribed next with reference to FIG. 4. FIG. 4 is a block diagramshowing the configuration of the POS system 2 according to the secondembodiment of the invention. Note that like parts and content in thisand the first embodiment are identified by like reference numerals, andfurther description thereof is omitted.

As in the first embodiment, the POS system 2 is typically installed in aretail store, for example, and used to register sales data, processtransactions, and print receipts at the point of sale.

As shown in FIG. 4, the POS system 2 includes a POS terminal 20 (hostcomputer) operated by an operator, and two printers 200, 300. The twoprinters 200, 300 are daisy chained. More specifically, one printer 300(media processing device, or first printer) is connected to the POSterminal 20, and the other printer 200 (external processing device, orsecond printer) is connected to the first printer 300. Note that the POSsystem 2 according to the second embodiment of the invention describesan implementation in which a printer 300 is used instead of themultifunction device 100 used as a media processing device (firstprinter) in the first embodiment described above.

Connected to the POS terminal 20 are an operator display 31 thatdisplays information for the operator, a customer display 32 thatdisplays price and transaction information for the customer, a cashdrawer 33 that holds cash and other payment instruments, a keyboard 36that is used by the operator, a barcode scanner 37 used to read productbarcodes, and a card reader 38 used to read magnetic informationrecorded on magnetic stripe cards such as credit cards and cash cards.The operator inputs product information by operating the keyboard 36 andusing the barcode scanner 37 to read barcodes. The POS terminal 20 thenqueries a POS server 10 based on the input product information.

The POS server 10 searches a product master database based on theproduct information sent from the POS terminal 20, and returns productcode, product name, price, and other product information from the masterdatabase to the POS terminal 20. The POS terminal 20 then displaysproduct price information on the display 31 and customer display 32based on the information returned from the POS server 10. When thisprocess is completed for all products purchased in a transaction, theoperator executes a transaction process by operating the keyboard 36,for example, and makes change from the cash drawer 33 as may benecessary. The POS terminal 20 then controls printer 300 or printer 200to print and output a receipt.

Each printer 200, 300 has a function for printing receipts from rollpaper used as the recording medium. The printers 200, 300 could bethermal printers that print receipts on thermal roll paper, or serialdot impact or inkjet printers that print on plain roll paper.

The POS terminal 20 also has a control unit 21 that controls parts ofthe POS terminal 20. The control unit 21 includes CPU, RAM, ROM, andother peripheral circuits not shown, and runs a program stored in amemory unit 23. The control unit 21 includes a printer driver executionunit 22 that executes a printer driver program 24 stored in the memoryunit 23.

The printer driver execution unit 22 generates and sends print data forprinting receipts and commands telling a printer connected to theinterface 27 to print. The printer driver execution unit 22 executes aprinter driver program 24 that is written for a printer or a specificdevice from a specific manufacturer. As a result, the commands and printdata generated by the printer driver execution unit 22 are print dataand commands in the command set of a printer from a specificmanufacturer or a specific model.

The POS terminal 20 includes an output unit 28 with connectors (notshown in the figure) to which the operator display 31, customer display32, and cash drawer 33 are connected. The output unit 28 outputs displaydata from the output unit 28 to the display 31 and customer display 32as controlled by the control unit 21. The output unit 28 also outputs tothe cash drawer 33 a signal that opens the cash drawer 33 as controlledby the control unit 21. The output unit 28 could also have a functionfor detecting the state (open or closed) of the cash drawer 33, andoutputting the result to the control unit 21. An interface 27 to whichan external printer is connected is also connected to the output unit28.

The interface 27 has a connector (not shown in the figure) conforming toa particular standard such as USB, RS-232C, or Ethernet (R), and connectto a printer by a cable connected to this connector. The interface 27could also be a wireless communication interface enabling connecting aprinter through a wireless connection. Examples of the wirelesscommunication standard include IEEE 802.11, wireless USB, Bluetooth (R),and UWB. In this embodiment of the invention the interface 27 isconnected to the multifunction device 100 through a cable 6. The POSterminal 20 and multifunction device 100 are connected 1:1.

The POS terminal 20 has a communication interface 26 connected to acommunication line 5, and is connected to the POS server 10 through thecommunication interface 26. The communication interface 26 may includean Ethernet LAN interface, or a modem or other communication interfacecircuit.

The printer 300 includes a first interface 310 (first connection unit)that connects to an external device, and a second interface 315 (secondconnection unit). The first interface 310 connects to the POS terminal20 through the cable 6. The second interface 315 connects to the otherprinter 200 through another cable 7. The first interface 310 connects1:1 to the POS terminal 20, and the second interface 315 connects 1:1 tothe printer 200.

The printer 300 includes a control unit 350. The control unit 350includes, for example, a CPU, RAM, ROM, and nonvolatile memory such asan EEPROM or flash memory device (not shown in the figure). The controlunit 350 executes a program stored in nonvolatile storage to controlother parts. This program could be firmware for operating the printer300.

The control unit 350 exchanges data with the POS terminal 20 through thefirst interface 310, and exchanges data with the other printer 200through the second interface 315. The control unit 350 also controls aroll paper print unit 330 (processing unit, first print unit) and printsreceipts.

Not shown in the figures, the roll paper print unit 330 has a printheadfor printing text and images on roll paper, a conveyance mechanism forconveying the roll paper, a cutter mechanism for cutting the roll paper,and detectors for detecting if roll paper is present and detecting theleading end of the roll paper. The roll paper print unit 330 prints onroll paper as controlled by the control unit 350, and outputs receipts.

Like the printer 300, the other printer 200 is a simple printer with afunction for printing receipts. The printer 200 has an interface 210connected to the printer 300 through a cable 7, a roll paper print unit220 (second print unit) including a printhead that prints on the rollpaper, and a control unit 250 that controls these other parts. Theinterface 210 is a wired interface with a connector (not shown in thefigure) or a wireless interface conforming to the first interface 310 orsecond interface 315 described above. The control unit 250 exchangesdata with the printer 300 through the interface 210.

Configuration of the Media Processing Device

The configuration of the printer used as an example of a mediaprocessing device in this embodiment is described below with referenceto FIG. 5. FIG. 5 is a function block diagram of the POS system 2showing the configuration of the printer 300 in detail.

As shown in FIG. 5, the printer 300 has a main circuit board 301containing a CPU and other components for controlling parts of theprinter 300, and an interface board 303 disposed separately from themain circuit board 301.

The interface board 303 is connected to the main circuit board 301through a detachable bus (not shown in the figure), for example, and isremovably installed in the printer 300. The first interface 310 andsecond interface 315 are mounted on the interface board 303, and thecontrol unit 350 is mounted on the main circuit board 301. The maincircuit board 301 is also connected to the roll paper print unit 330,operating panel 370, and mode selector switch 380 of the printer 300.

The first interface 310 has a connector 311 that can connect to thecable 6, and the second interface 315 has a connector 316 that canconnect to the other cable 7. These connectors 311, 316 are separatelydisposed to the interface board 303. In one implementation, theconnectors 311, 316 are disposed side by side exposed from the back ofthe printer 300. The first interface 310 and second interface 315 canalso communicate separately of each other.

The connectors 311, 316 are connectors that conform to a particularstandard such as USB, RS-232C, or Ethernet (R), and can connect to acompatible cable 6, 7.

Alternatively, the first interface 310 and second interface 315 could bewireless communication interfaces enabling connecting to the POSterminal 20 or printer 200 through a wireless connection. Examples ofthe wireless communication standard include IEEE 802.11, wireless USB,Bluetooth (R), and UWB.

The control unit 350 operates as a external device controller 351,operating mode controller 353, data interpreter 355, conversion unit 357(conversion unit), command interpreter 358, and process controller 359by means of the CPU mounted on the main circuit board 301 runningspecific programs.

The external device controller 351 communicates with the deviceconnected to the second interface 315, and determines the type of device(printer or multifunction device with a function other than printing),model name, manufacturer, the command set compatible with the device(type of commands), and functions that the device can handle, forexample. In this embodiment the external device controller 351determines at least the types of processes that the device connected tothe second interface 315 can execute. Preferably, the external devicecontroller 351 determines the command set that the device connected tothe second interface 315 uses. The method whereby the command set isidentified could include sending data querying the command set throughthe second interface 315 and deciding the command set based on thereceived responses, or identifying the command set of the device bydetermining the manufacturer or model name of the device connected tothe second interface 315, for example. Because a printer 200 isconnected to the second interface 315 in this embodiment, the externaldevice controller 351 determines the command set used by the printer200.

The operating mode controller 353 controls changing the operating modeof the printer 300. When the POS terminal 20 outputs a command for aprinting operation, the printer 300 can operate in a first mode in whichthe printer 300 prints, or a second mode in which the printer 200 isdriven to print. The first mode and second mode are selectedexclusively.

In other words, in the first mode the printer 300 executes all commandsthat are received through the first interface 310 and can be executed bythe printer 300.

In the second mode, the printer 300 passes commands that are receivedthrough the first interface 310 and are related to processes that can beexecuted by the device connected to the second interface 315 through thesecond interface 315 to the connected device.

When a command for printing is received through the first interface 310in the first mode, the printer 300 prints with the roll paper print unit330 based on the print data received with the command.

When a command for printing is received in the second mode through thefirst interface 310, the printer 300 outputs the command and the printdata received with the command from the second interface 315. Theprinter 200 then receives the print data and the print command throughthe interface 210, and prints with the roll paper print unit 220.

Switching between the first mode and second mode occurs when, forexample, a command for changing the operating mode is received by thefirst interface 310 of the printer 300. This command could be a textcommand that is detected by the data interpreter 355 described below, ora printer command that is defined as a command for changing theoperating mode of the printer 300.

The printer 300 could also be optionally configured to change theoperating mode when the mode selector switch 380 of the printer 300 isoperated or when the operating panel 370 of the printer 300 is operatedto change the operating mode. The mode selector switch 380 is a switchdisposed on the outside of an exterior panel of the printer 300, andcould be a pushbutton, touch sensor, or toggle switch, for example.

The operating mode controller 353 switches the current operating mode tothe other operating mode each time the mode selector switch 380 isoperated and turns on. The operating panel 370 includes switches (notshown in the figure) for controlling operation of the printer 300, andindicators (not shown in the figure) that display the operating state ofthe printer 300. When operation of a particular switch on the operatingpanel 370 is detected, the operating mode controller 353 changes theoperating mode from the current operating mode to the other operatingmode. An indicator (not shown in the figure) or display for displayingthe current operating mode could also be disposed to the operating panel370.

The data interpreter 355 interprets the text data contained in the printdata received through the first interface 310, and determines if a textcommand is contained in the text data. A text command is a commandcontained in print data output by the POS terminal 20. The print dataincludes text data for printing text, and the text data is a string oftext characters and symbols. The text characters and symbols containedin the text data are printed on the receipt and seen by the customer,and therefore typically constitute human-readable content. As a result,strings that do not contain specific meaning as words or symbols(including situations in which specific meaning is not represented bythe string) are therefore not printed. For example, the string “$10”expresses a monetary value. However, the string “#1122” is a string withno meaning unless a specific meaning has been assigned to the hash mark(#) symbol. Because strings with no meaning are not printed on thereceipt, they can be used as commands that can be interpreted by theprinter 300. Commands that are thus sent to the printer 300 as part ofthe text data contained in the print data are referred to as “textcommands” herein.

A specific example of a text command is described next. In this examplethe string “#1122” is predefined as a command that tells themultifunction device 300 to change the operating mode. This predefinedcommand is stored in the nonvolatile memory (not shown in the figure) ofthe control unit 350. The data interpreter 355 extracts text date fromthe print data received through the first interface 310, and looks forthe string #1122 in the text data. If this string #1122 is found, thedata interpreter 355 tells the operating mode controller 353 that acommand to change the operating mode was detected. As a result, theoperating mode controller 353 switches from the current operating modeto the other operating mode.

Text commands are output as part of the print data. As a result, newcommands can be added without changing the command set (commandlanguage) used by the POS terminal 20. More specifically, an applicationprogram that outputs print data to the printer driver program 24generates the text data contained in the print data. The printer driverprogram 24 converts the print data generated by the application programto the data format used by the printer 300, and outputs the converteddata with a print command. Therefore, if the application program outputsprint data containing a text command, the printer 300 can operateaccording to the text command even if the printer driver program 24 doesnot recognize the text command. Desirable commands related to printer300 operation can therefore be added without changing the content of theprinter driver program 24 run by the POS terminal 20.

If a text command is detected in the print data received by the firstinterface 310, the data interpreter 355 deletes the text command andgenerates new print data. This prevents printing meaningless strings onthe receipt. The data interpreter 355 deletes text commands from theprint data in both the first and second modes.

The conversion unit 357 converts the command received by the firstinterface 310 to a command of the same meaning in a different commandset. As described above, the POS terminal 20 generates and outputscommands in a specific command set through a function of the printerdriver program 24. The command set may differ according to themanufacturer and model of the device, including the printers 200, 300.The command set output by the POS terminal 20 and the command set thatcan be executed by printer 300 and/or printer 200 may therefore differ.

The conversion unit 357 stores a table defining the correlation betweencommands in at least one command set and commands in another commandset. The control unit 350 could store a table relating the command setof commands output by the POS terminal 20 and the command set that canbe executed by the printer 300. The control unit 350 could also store atable relating the command set of commands output by the POS terminal 20and the command set that can be executed by the printer 200.

If a command received by the first interface 310 is not a command in acommand set that can be executed by the printer 300, the conversion unit357 converts the command to a command in the command set that can beexecuted by the printer 300 (first executable command). As a result, theprinter 300 can execute all commands received by the first interface310.

When operating in the second mode and a command received by the firstinterface 310 is not a command in the command set executable by theprinter 200, the conversion unit 357 converts the command to a commandin the command set executable by the printer 200 (second executablecommand). The external device controller 351 can identify commands thatare executable by the printer 200. The commands output by the POSterminal 20 can therefore be executed in both the first mode and thesecond mode even if the command sets of the POS terminal 20 and printer300 and/or printer 200 are not the same. As a result, if a printer inthe POS system 2 is replaced by a printer 300 or printer 200 of adifferent make or model, the printer 300 or printer 200 can still beoperated without changing the printer driver program 24.

When converting a command received by the first interface 310 to acommand compatible with the printer 200, the conversion unit 357 mayalso change the content of the command or the content of the print data.For example, the resolution of the printhead, the line feed distance,font size, font type, kerning, left and right margins of the roll paper,the roll paper size, and other printing conditions of the printeraddressed by the printer driver program 24 may differ from those of theroll paper print unit 330 of printer 300, or from those of the rollpaper print unit 220 of printer 200. Printing conditions may also differbetween the roll paper print unit 330 and the roll paper print unit 220.

In this situation the conversion unit 357 changes the content of thecommands and print data so that the same or similar printing results canalso be achieved with a printer having different print parameters. Forexample, the conversion unit 357 may change commands or parameters,including the printing position command, the print margin command, linefeed command, font selection command, or kerning command, contained inthe commands received by the first interface 310 so that the roll paperprint unit 330 produces the same or substantially the same printout asthe printout produced by a printer that is compatible with the printerdriver program 24. The conversion unit 357 could also convert the pixelcount of image data contained in the print data.

The conversion unit 357 also converts commands and parameters containedin the commands received by the first interface 310, and the pixel countof image data contained in the print data, so that the roll paper printunit 220 produces the same or similar results as a printer that iscompatible with the printer driver program 24. As a result, the same orsubstantially the same printout can be produced using either printer200, 300 without modifying the software running on the POS terminal 20.

The command interpreter 358 interprets commands received by the firstinterface 310 and identifies the functions corresponding to the receivedcommands. For example, the command interpreter 358 determines if areceived command is a command related to a function of the roll paperprint unit 330, or a command related to another function. Commandsrelated to functions other than printing include, for example, commandsrelated to a function for reading magnetic information recorded onchecks or other forms, and commands related to printing on manuallyinserted forms such as checks.

If the command received by the first interface 310 is a command relatedto a function other than a function of the roll paper print unit 330,the command interpreter 358 discards the command. This is because thecommand cannot be executed by printer 300 or printer 200.

If the command received by the first interface 310 is a command relatedto a function of the roll paper print unit 330, the command interpreter358 determines the operating mode of the printer 300. If the operatingmode of the printer 300 is the first mode, the command interpreter 358causes the process controller 359 to execute commands related to theroll paper print unit 330.

If the operating mode of the multifunction device 300 is the secondmode, the command interpreter 358 sends the commands related to the rollpaper print unit 330 through the second interface 315 to the printer200. If the command received by the first interface 310 accompaniesprint data, the command interpreter 358 outputs the command and theprint data from the second interface 315.

The process controller 359 executes commands received by the firstinterface 310 and drives the roll paper print unit 330 to print areceipt.

Operation of the Media Processing Device

The operation of the printer 300 as an example of a media processingdevice is described next with reference to FIG. 6. FIG. 6 is a flowchart showing the operation of the printer 300.

As shown in FIG. 6, when the control unit 350 detects that a command wasreceived by the first interface 310 (step S111), the conversion unit 357determines if the received command must be converted (step S112). If thereceived command is different from the commands in the command set usedby the printer 300, the conversion unit 357 determines that commandconversion is required (step S112 returns YES). In this event theconversion unit 357 converts the received command to a compatiblecommand in the command set of the printer 300 (step S113). Theconversion unit 357 does not convert the command if command conversionis determined unnecessary (step S112 returns NO).

The data interpreter 355 then determines if text data was received withthe command through the first interface 310 (step S114). If text datawas received (step S114 returns YES), the data interpreter 355interprets the received text data (step S115) and searches for a textcommand (step S116). If a text command is contained in the received textdata (step S116 returns YES), the data interpreter 355 outputs the textcommand to the operating mode controller 353. The operating modecontroller 353 then executes the process of changing (setting) thecurrent operating mode to the other operating mode (step S117).

The data interpreter 355 then generates new text data by removing thetext command output to the operating mode controller 353 from thereceived text data (step S118), and goes to the next step S119.

If a text command is not contained in the received text data (step S116returns NO), the data interpreter 355 goes directly to step S119.

In step S119 the command interpreter 358 interprets the receivedcommand, and then determines if the received command is a commandinstructing executing a process, and if the process to be executed isprinting on roll paper (step S120). Control commands that can beexecuted by the printer 300 are executed by the control unit 350regardless of whether the command is related to printing on roll paper.More specifically, the control unit 350 immediately executes controlcommands such as commands from the POS terminal 20 requesting theprinter 300 to return the printer status, commands instructing going toa sleep mode, commands for waking from the sleep mode, and commandsinstructing changing the operating mode, for example, regardless of theflow chart shown in FIG. 6.

If the received command is a command for executing a process (function)other than printing on roll paper (step S120 returns NO), the commandinterpreter 358 discards the command (step S121) and ends this process.

If the received command is a command related to the roll paper printfunction (step S121 returns YES), the data interpreter 355 determinesthe operating mode set by the operating mode controller 353 (step S122).If the operating mode is the first mode (step S123 returns YES), thedata interpreter 355 outputs the command to the process controller 359,and the process controller 359 controls the roll paper print unit 330 toprint according to the print command (step S124).

However, if the operating mode is set to the second mode (step S123returns NO), the conversion unit 357 determines if command conversion isrequired (step S125). Because commands are sent to printer 200 in thesecond mode, the conversion unit 357 determines that command conversionis required if the command received by the first interface 310 is not acommand used by the printer 200 (step S125 returns YES).

In this event the conversion unit 357 converts the command to a commandin the command set used by the printer 200 (step S126), and sends theprint command and the print data to the printer 200 through the secondinterface 315 (step S127).

If command conversion is not required (step S125 returns NO), theconversion unit 357 outputs the command and the print data receivedthrough the first interface 310 from the second interface 315. Note thatthe print data output by the second interface 315 in step S127 is theprint data received by the first interface 310 or the print data leftafter text command removal in step S118.

As described above, a POS system 2 according to the second embodiment ofthe invention includes a POS terminal 20 that outputs transactioninformation and commands, a first printer 300, and a second printer 200.

The first printer 300 has a first interface 310 that receives thetransaction information and commands output from the POS terminal 20; asecond interface 315 that outputs the transaction information; a rollpaper print unit 330 that prints receipts; and a control unit 350 thatcontrols switching between a first mode and a second mode based on acommand received through the first interface 310. In the first mode, theroll paper print unit 330 executes the command received through thefirst interface 310 to print transaction information on a receipt, andin the second mode the control unit 350 outputs the transactioninformation received by the first interface 310 from the secondinterface 315.

The second printer 200 has an interface 210 that connects to the secondinterface 315 of the first printer 300, and receives transactioninformation therefrom; and a roll paper print unit 220 that printstransaction information received by the interface 210 on a receipt.

As a result, the printer 300 can receive commands from the POS terminal20, and selectively operate in a first mode that prints on roll paperbased on the received command, or a second mode that sends the commandsto the other printer 200 so that the printer 200 prints on roll paper.Because this printer 300 switches the operating mode between the firstmode and second mode based on a command sent from the POS terminal 20,the POS terminal 20 can desirably switch the printer that prints on rollpaper to either printer 200, 300 by outputting the appropriate command.Plural printers can therefore be selectively used without a complicatedcontrol process.

Furthermore, because the printer 300 has a conversion unit 357 thatconverts commands received by the first interface 310 to firstexecutable commands that are executed by the roll paper print unit 330or second executable commands that are executed by the other printer200, the printers 200, 300 can be desirably operated without modifyingthe commands output by the POS terminal 20 even if the printers 200, 300are connected to POS terminals 20 that use different commands.

Furthermore, because the roll paper print unit 330 prints transactioninformation received by the first interface 310 on a receipt, and thesecond interface 315 does not send the transaction information to theother printer 200, when the control unit 350 of the printer 300 changesto the first mode, the printer 200 does not print a receipt when printer300 prints a receipt. Because printer 300 and printer 200 can thereforebe operated exclusively to print receipts, printing two receipts withthe same transaction information can be prevented, and reliability as aPOS system that outputs transaction information can be improved.

In addition, when the control unit 350 of the printer 300 changes to thesecond mode, the conversion unit 357 converts the command received bythe first interface 310 to a second executable command, the secondinterface 315 sends the transaction information and second executablecommand to the printer 200, and the printer 200 receives the transactioninformation and second executable command through the reception unitthereof and prints the transaction information on a receipt with theroll paper print unit 220. As a result, the printer 200 can be desirablyoperated without changing the command set of the POS terminal 20 evenwhen the printer 200 is connected to a POS terminal 20 that uses adifferent command set.

The invention is described above with reference to a preferredembodiment thereof, but the invention is not limited thereto and can bemodified and adapted in many ways without departing from the scope ofthe accompanying claims. Examples of such variations are describedbelow.

For example, the effect of the invention can also be achieved withconfigurations that do not include the function of one or more of theexternal device controller 151, operating mode controller 153, datainterpreter 155, conversion unit 157, command interpreter 158, andprocess controller 159 of the multifunction device 100 in the embodimentdescribed above. For example, in a device that connects to the secondinterface 115 and has information about the command set and types ofprocesses that it can execute preset in the control unit 150, theprinter 200 detection function of the external device controller 151 canbe omitted.

Further alternatively, if the multifunction device 100 and printer 200are compatible with the command set of the commands output by the POSterminal 20, the command conversion function of the conversion unit 157can be omitted.

Further alternatively, the function of detecting text commands by meansof the data interpreter 155 can be omitted in an implementation thatdoes not use text commands and has a command whereby the POS terminal 20tells the multifunction device 100 to change the operating mode definedin the same way as a print command, for example.

Yet further alternatively, when commands that are received by the firstinterface 110 and then passed on from the second interface 115 are setindividually or by corresponding function in the control unit 150, thecommand interpretation function of the command interpreter 158 can beomitted because the operating mode controller 153 can send the commandfrom the second interface 115 when the received command is one of thesedefined commands.

Yet further, because the operating mode can be changed by operating themode selector switch 180 or operating panel 170 in the embodimentdescribed above, the invention can also be used without using a textcommand or other command that commands changing the operating mode.

A configuration having a multifunction device 100 and printer 200 thatprint on roll paper is described above as an example of a mediaprocessing device that processes media and an external processing devicein the foregoing embodiment, but the invention is not so limited. Forexample, the media is plastic sheets and media with a coated surface canalso be used. Other examples of usable media include cut-sheet media ofa predefined size, and continuous media such as sprocket-feed paper.Photocopier paper can also be used as the media.

The roll paper print units 120, 220 are also not limited to thermalprint units that print by applying heat to thermal paper, and could useother recording methods including inkjet and dot impact.

A magnetic reader 130 and form print unit 140 are also described in theforegoing embodiment as examples of non-printing process units of themultifunction device 100, but the invention is not so limited. Forexample, these other processing units could be print units that print ondifferent types of media, a scanner that optically reads checks or othermedia, or an authentication unit that reads an IC card.

For example, the effect of the invention can also be achieved withconfigurations that do not include the function of one or more of theexternal device controller 351, operating mode controller 353, datainterpreter 355, conversion unit 357, command interpreter 358, andprocess controller 359 of the printer 300 in the embodiment describedabove. For example, in a device that connects to the second interface315 and has information about the command set and types of processesthat it can execute preset in the control unit 350, the printer 200detection function of the external device controller 351 can be omitted.

Further alternatively, if the printers 200, 300 are compatible with thecommand set of the commands output by the POS terminal 20, the commandconversion function of the conversion unit 357 can be omitted.

Further alternatively, the function of detecting text commands by meansof the data interpreter 355 can be omitted in an implementation thatdoes not use text commands and has a command whereby the POS terminal 20tells the printer 300 to change the operating mode defined in the sameway as a print command, for example.

Yet further alternatively, when commands that are received by the firstinterface 310 and then passed on from the second interface 315 setindividually or by corresponding function in the control unit 350, thecommand interpretation function of the command interpreter 358 can beomitted because the operating mode controller 353 can send the commandfrom the second interface 315 when the received command is one of thesedefined commands.

Yet further, because the operating mode can be changed by operating themode selector switch 380 or operating panel 370 in the embodimentdescribed above, the invention can also be used without using a textcommand or other command that commands changing the operating mode.

A configuration having printers 200, 300 that print on roll paper isdescribed above as an example of a media processing device thatprocesses media and an external processing device in the foregoingembodiment, but the invention is not so limited. For example, the mediais plastic sheets and media with a coated surface can also be used.Other examples of usable media include cut-sheet media of a predefinedsize, and continuous media such as sprocket-feed paper. Photocopierpaper can also be used as the media.

The roll paper print units 330, 220 are also not limited to thermalprint units that print by applying heat to thermal paper, and could useother recording methods including inkjet and dot impact.

A POS terminal 20 is also described in the foregoing embodiments as anexample of a host computer, but the invention is not so limited. Thehost computer can be any device with the ability to send commands andtext data to a multifunction device 100, printer 300, or other mediaprocessing device, and could be a common personal computer, a mainframecomputer, a server, or other computer device, or a mobile device. Theapplication of the host computer is also not limited to processingtransactions in a POS system, and the invention can also be used insystems including a computer that is used for common applications suchas document processing and image editing, or for other specializedapplications.

The function blocks shown in FIG. 1, FIG. 2, FIG. 4, and FIG. 5 can bedesirably achieved by the cooperation of hardware and software, and donot suggest a specific hardware configuration.

For example, the function of the control unit 150, 350 can be achievedby the control unit 150, 350 of the multifunction device 100 or printer300 executing a program stored on an externally connected storagemedium. The details of such a configuration can obviously also bechanged as desired.

The invention being thus described, it will be obvious that it may bevaried in many ways. Such variations are not to be regarded as adeparture from the spirit and scope of the invention, and all suchmodifications as would be obvious to one skilled in the art are intendedto be included within the scope of the following claims.

What is claimed is:
 1. A media processing device comprising: aprocessing unit that processes media; a first connection unit thatreceives a command sent from a host computer; a second connection unitthat transmits the command received by the first connection unit; acontrol unit that controls executing a process by the processing unitbased on the command received by the first connection unit, or controlstransmitting the command received by the first connection unit from thesecond connection unit; and a second processing unit that executes adifferent process than the processing unit; and an external devicecontrol unit that detects a process that can be executed by an externalprocessing device; wherein the external device control unit detects thatthe external processing device does not have a processing unit that isthe same as the second processing unit, and wherein the control unitcauses the second processing unit to execute the command received by thefirst connection unit.
 2. The media processing device described in claim1, wherein: when the command received by the first connection unit is apreset command, the control unit transmits the preset command from thesecond connection unit to the external processing device.
 3. The mediaprocessing device described in claim 2, further comprising: a switchingunit that, when the command received by the first connection unit can beexecuted by the processing unit and the external processing device,changes to a first mode that executes the command by the processingunit, or a second mode that transmits the command by the secondconnection unit to the external processing device.
 4. The mediaprocessing device described in claim 2, further comprising: a conversionunit that converts the command received by the first connection unit toa first executable command that is executed by the processing unit, or asecond executable command that is executed by the external processingdevice.
 5. A media processing system comprising: a terminal thattransmits a command; a first media processing device including a firstprocessing unit that applies a first process to media, a firstconnection unit that receives the command transmitted from the terminal,a control unit that controls executing a process by the first processingunit based on the command received by the first connection unit, orcontrols transmitting the command received by the first connection unit,a second connection unit that transmits the command when the controlunit executes control to transmit the command, a second processing unitthat executes a different process than the first processing unit, and anexternal device control unit that detects a process that can be executedby an external processing device; and a second media processing deviceincluding a receiving unit that connects to the second connection unitof the first media processing device and receives the commandtransmitted from the second connection unit, and a media processing unitthat executes a same process as the first processing unit of the firstmedia processing device based on the command received by the receivingunit; wherein the external device control unit detects that the secondmedia processing device does not have a processing unit that is the sameas the second processing unit, and wherein the control unit causes thesecond processing unit to execute the command received by the firstconnection unit.
 6. The media processing system described in claim 5,wherein: when the command received by the first connection unit is apreset command, the control unit of the first media processing devicetransmits the preset command from the second connection unit to thesecond media processing device.
 7. The media processing system describedin claim 5, wherein: the first processing unit of the first mediaprocessing device is a print unit that prints on roll paper, and thesecond processing unit is a reading unit that reads information recordedon cut-sheet media.
 8. The media processing system described in claim 5,wherein: the first media processing device includes a switching unitthat, when the command received by the first connection unit can beexecuted by the processing unit and the external processing device,changes to a first mode that executes the command by the processingunit, or a second mode that transmits the command by the secondconnection unit to the external processing device.
 9. The mediaprocessing system described in claim 5, wherein: the first mediaprocessing device includes a conversion unit that converts the commandreceived by the first connection unit to a first executable command thatis executed by the processing unit, or a second executable command thatis executed by the external processing device.
 10. A POS systemcomprising: a POS terminal that transmits transaction information and acommand; a first printing device including a first connection unit thatreceives transaction information and the command transmitted from thePOS terminal, a first print unit that prints a receipt and includes afirst processing unit, a control unit that executes a first mode whereinthe first processing unit executes the command received by the firstconnection unit and the first print unit prints the transactioninformation on a receipt, or a second mode wherein the transactioninformation received by the first connection unit is transmitted, asecond connection unit that transmits the transaction information whenthe control unit operates in the second mode, and a second processingunit that executes a different process than the first processing unit,and external device control unit that detects a process that can beexecuted by an external processing device; and a second printing deviceincluding a receiving unit that connects to the second connection unitof the first printing device and receives the transaction information,and a second print unit that prints the transaction information receivedby the receiving unit on a receipt; wherein the external device controlunit detects that the second printing device does not have a processingunit that is the same as the second processing unit, and wherein thecontrol unit causes the second processing unit to execute the commandreceived by the first connection unit.
 11. The POS system described inclaim 10, wherein: when the command received by the first connectionunit is a preset command, the control unit of the first printing devicetransmits the preset command from the second connection unit to thesecond printing device.
 12. The POS system described in claim 10,wherein: the first printing device includes a conversion unit thatconverts the command received by the first connection unit to a firstexecutable command that is executed by the first print unit, or a secondexecutable command that is executed by the second printing device. 13.The POS system described in claim 12, wherein: when the control unit ofthe first printing device executes the first mode, the first print unitprints the transaction information received by the first connection uniton a receipt, and the second connection unit does not transmit thetransaction information to the second printing device.
 14. The POSsystem described in claim 12, wherein: when the control unit of thefirst printing device executes the second mode, the conversion unitconverts the command received by the first connection unit to the secondexecutable command, the second connection unit transmits the secondexecutable command to the second printing device, and the secondprinting device receives the second executable command through thereceiving unit, and prints the transaction information on a receipt bythe second print unit based on the second executable command.